Method of printer accounting management

ABSTRACT

A method is disclosed in which a print dialog is invoked to select printing options for a document. A department code is entered on the print dialog, and a print command is submitted while concurrently sending the department code for validation. A validation step is performed to determine whether the department code is valid. A print job is generated if the entered department code is valid. If the department code is invalid, the user is prompted to enter a valid department code.

BACKGROUND OF THE INVENTION

[0001] The present invention is directed to the field of print function management. The invention has particular applicability for departmental accounting of printer resources as used with a network or other configuration where one or more printers are shared between multiple computer users.

[0002] Shared network printer configurations are common in many offices and other commercial establishments. It has become popular to incorporate a combined printer and photocopier in a single unit. Such devices include a printer controller, which includes an onboard processor and memory for managing the print function. The print controller receives print commands from the print driver onboard the user's personal computer and accordingly queues print jobs for printing over the combined unit.

[0003] In order increase efficiency by reducing uncharged photocopying, many offices have implemented an accounting system whereby a departmental or other type account code must be entered into the photocopier prior to enabling the copy function. The copier retains a set of codes, which can be department codes or other type access codes. These codes can be maintained on-board the copier in memory or can be accessed through the network. In order to enforce the code at the copier level, it must be enabled by entering a valid department code for every copy job before the copy “start” key is enabled. Upon entry of a valid code, the copier function is enabled. Thus, validation is performed prior to enabling the copy request.

[0004] However, the printer function is different from the copy function in that validation and print enabling must occur after the printer request. In requesting a print job on a personal computer, a “print” command is issued from a menu. The printer driver activates a dialog box that “pops up” to offer a selection of print options. The printer dialog can include an input field for entering a departmental code. After entry, an “OK” button is clicked in order to instruct the printer driver to send the print job with the desired selections to the printer controller. If a valid code is entered, the print function will be enabled and the print job will be charged to the department. However, if an invalid code is entered, the charge is directed to an undefined account and the print job will not print. The user may be unaware that an invalid code has been entered. Also, the user is not timely notified that service has been denied due to an invalid code. This can result in waiting at a printer for a print job that does not proceed, resulting in wasted time and user inconvenience. This problem can be especially exacerbated if the source file is closed or is otherwise unavailable for resubmission of the print request.

SUMMARY OF THE INVENTION

[0005] In view of the difficulties and drawbacks encountered in previous-type systems, there is therefore a need for a method of validating a code in the printer driver before a print job is submitted to the printer controller.

[0006] There is also a need for a method that gives timely notification to the user of an invalid entry.

[0007] There is also a need for a method that reduces user inconvenience and increases efficiency.

[0008] These need and others are satisfied by the method of printer accounting according to the present invention. In the present method, a print dialog is invoked to select printing options for a document. A department code is entered on the print dialog, and a print command is submitted while concurrently sending the department code for validation. A validation step is performed to determine whether the department code is valid. A print job is generated if the entered department code is valid. If the department code is invalid, the user is prompted to enter a valid department code.

[0009] As will be realized, the invention is capable of other and different embodiments and its several details are capable of modifications in various respects, all without departing from the invention. Accordingly, the drawing and description are to be regarded as illustrative and not restrictive.

BRIEF DESCRIPTION OF THE DRAWINGS

[0010]FIG. 1 is a flow chart generally depicting the steps of the method of the present invention.

[0011]FIG. 2 is a block diagram generally indicating a network as deployed with the present invention.

DETAILED DESCRIPTION OF THE INVENTION

[0012] The present method is directed to a method of printer control and accounting that is performed at both the printer driver and also the printer controller. The present method is suitably implemented by a management utility based either on a network or locally on a personal computer or peripheral device, or as a utility incorporated into the print driver. The printer driver is configured to perform validation while the printer controller performs both validation and enforcement. Without valid entry of the department code, the print command will be rejected outright and not printed, with immediate notification to the user by way of a pop-up dialog box.

[0013] The steps of the present method are shown in FIG. 1. A step of invoking a print dialog in performed at block 10 to submit a document for printing. In the preferred embodiment, this step includes selecting a “print” command from a menu of command options in a document application. This command causes a dialog box to pop up for selecting printing options for the document to be printed. A step of prompting the user is performed at block 12 to enter a department code, preferably into an input field on the print dialog. This prompt is suitably in the form of text on the printer dialog, or in a separate dialog that pops up after entry with an alert message, e.g. “invalid code, please re-enter,” in the event that an invalid code or no code is entered in the field.

[0014] After entry of the code, the “OK” button is clicked in order to submit a print command to the printer controller and concurrently perform the step of sending the department code to the print controller for validation at block 14. A validation step is performed at block 16 at the print driver to determine whether the department code is valid. In the preferred embodiment, after clicking “OK,” on the print dialog, the print driver actually goes out and queries the controller to determine whether the code is valid. A step follows of generating a print job follows at block 18 if the entered department code is valid, followed subsequently by a step of sending the print job to the printer at block 20. If the entered department code is not valid, the step of prompting the user at block 12 is repeated so as permit the entry of a valid department code. The print controller will receive the print job for processing, but if it detects that the department code is invalid or there is no department code, it will send the job to an invalid queue. The print job will sit in an “invalid” queue, and can be viewed as such by using a top access print job monitoring utility for viewing all the queues in the controller. Any pending print jobs in the invalid queue are suitably viewed and released by entering a valid department code.

[0015] In the preferred embodiment, at block 30 the print controller also performs a step of receiving the department code sent in block 14 and in block 32 performs its own step of validation, concurrently with the validation step performed at the printer driver in block 16. If the department code is not valid, the negative result is forwarded in block 38 to a step of sending results back to the printer driver, which triggers the step of prompting the user at block 12. In the steps of performing a validation at blocks 12, 32, the department code is compared to a set of codes maintained on a look-up table, wherein validation includes comprises obtaining a match between the department and one of the set of codes. Preferably, the look-up table is maintained on the printer controller inside the combined copier/printer unit, and is accessed by the controller and the printer driver. However, such a look-up table can also reside on one or more personal computers, or be maintained over a network. When the printer driver queries the controller in the validation step 16, the query is directed to this look-up table, at which the comparison is made.

[0016] If the department code is valid, a determining step at block 34 is optionally performed for determining whether the department code accesses a pre-paid account having a predetermined number of usage units. The usage units suitably measure available print copies where the validation code would expire after a predetermined number of copies. The usage units suitably also measures access time where the code expires after a predetermined time period. Any other measurement is used that is deemed convenient for tracking printer usage. In this embodiment, a negative result is sent to the printer driver to prompt the user at the step of block 12 to enter a valid code. After the determining step at block 34, a step of retrieving and displaying the usage units is performed at block 36. The retrieving and displaying step at block 36 is suitably used to display the total number of usage units remaining on the pre-paid account, or to display the total number of usage units accumulated from the pre-paid account. In a further aspect of the invention, the department code is suitably a limited-use code issued by a system administrator. The limited-use code is suitably either a single-print use code or a limited-time use code. Also, the system administrator suitably releases any jobs waiting for printing in an invalid queue. If any pending jobs are not released within a predetermined time period, the jobs are flushed from the queue. An audit process is suitably used by the system administrator to track the print jobs that get flushed.

[0017] An exemplary network employing the present invention is shown in FIG. 2. Any number of client machines 100 receive network software and messages from at least one server 102. All network devices are connected to the network using a network backbone 104. The network suitably includes any number N of network peripheral devices 106 including output devices, preferably devices 106 such as printers or combined printer/copier devices. Each device 106 includes a network interface 108, a controller 110 and a memory 112 for storage of software and various data, integral with the device, such as the look-up tables having department codes and the like.

[0018] The invention includes a safeguard to prevent a user from disabling the validation control. If the validation were turned off, the printer driver would have no bi-directional communication with the controller. With no bi-directional communication, no department code information is received from the controller. Any print command issued without bi-directional control would not validate and the command would time out, and inform the user of an error, e.g. “cannot locate the printer.” In this way, print enforcement is handled by the controller. The present invention is advantageous in that an interaction occurs between the printer driver and the controller. Enforcement at both these places insures accurate and reliable accounting and control against circumvention.

[0019] As described hereinabove, the present invention solves many problems associated with previous type devices. However, it will be appreciated that various changes in the details, materials and arrangements of parts which have been herein described and illustrated in order to explain the nature of the invention may be made by those skilled in the area within the principle and scope of the invention will be expressed in the appended claims. 

What is claimed is:
 1. A method of printer accounting comprising: invoking a print dialog to select printing options for a document; entering a department code on the print dialog; submitting a print command and concurrently sending the department code for validation; performing a validation to determine whether the department code is valid; generating a print job if the entered department code is valid; and prompting the user to enter a valid department code if the entered department code is invalid.
 2. The method of claim 1 wherein the step of performing a validation comprises comparing the department code to a set of codes maintained on a look-up table, wherein validation comprises obtaining a match between the department and one of the set of codes.
 3. The method of claim 2 wherein the look-up table is maintained on a printer controller.
 4. The method of claim 3 wherein the step of validation is performed concurrently within both the printer controller and a print driver that generates the printer dialog.
 5. The method of claim 1 wherein the department code accesses a pre-paid account having a predetermined number of usage units.
 6. The method of claim 5 wherein the usage units are selected from the group comprising available print copies and access time.
 7. The method of claim 5 further comprising the step of displaying the total number of usage units remaining on the pre-paid account.
 8. The method of claim 5 further comprising the step of displaying the total number of usage units accumulated from the pre-paid account.
 9. The method of claim 1 wherein the department code is a limited-use code issued by a system administrator.
 10. The method of claim 9 wherein the limited-use code is selected from the group comprising a single-print use code and a limited-time use code.
 11. A printer accounting utility to be used upon invoking a print dialog to select printing options for a document and entering a department code on the print dialog, the utility comprising: means for submitting a print command and concurrently sending the department code for validation; means for performing a validation to determine whether the department code is valid; means for generating a print job if the entered department code is valid; and means for prompting the user to enter a valid department code if the entered department code is invalid.
 12. The utility of claim 11 wherein the means for performing a validation comprises means for comparing the department code to a set of codes maintained on a look-up table, wherein the means for validation comprises means for obtaining a match between the department and one of the set of codes.
 13. The utility of claim 12 wherein the look-up table is maintained on a printer controller.
 14. The utility of claim 13 wherein the means for validation is includes means for concurrently validating at both the printer controller and a print driver that generates the printer dialog.
 15. The utility of claim 11 wherein the department code is associated with a pre-paid account having a predetermined number of usage units.
 16. The utility of claim 15 wherein the usage units are selected from the group comprising available print copies and access time.
 17. The utility of claim 15 further comprising means for displaying the total number of usage units remaining on the pre-paid account.
 18. The utility of claim 15 further comprising means for displaying the total number of usage units accumulated from the pre-paid account.
 19. The utility claim 11 wherein the department code is a limited-use code issued by a system administrator.
 20. The utility of claim 19 wherein the limited-use code is selected from the group comprising a single-print use code and a limited-time use code.
 21. A network comprising: at least one network printer having a printer controller; at least one client device for submitting a print job to a network printer, wherein the client device includes means for invoking a print dialog to select printing options for a document, and means for entering a department code on the print dialog; a printer accounting utility comprising: means for sending the department code for validation concurrently with submitting a print command; means for performing a validation to determine whether the department code is valid; means for generating a print job if the entered department code is valid; and means for prompting the user to enter a valid department code if the entered department code is invalid.
 22. The network of claim 21 wherein the means for performing a validation comprises means for comparing the department code to a set of codes maintained on a look-up table, wherein the means for validation comprises means for obtaining a match between the department and one of the set of codes.
 23. The network of claim 22 wherein the look-up table is maintained on a printer controller.
 24. The network of claim 23 wherein the means for validation is includes means for concurrently validating at both the printer controller and a print driver that generates the printer dialog.
 25. The network of claim 21 wherein the department code is associated with a pre-paid account having a predetermined number of usage units.
 26. The network of claim 25 wherein the usage units are selected from the group comprising available print copies and access time.
 27. The network of claim 25 further comprising means for displaying the total number of usage units remaining on the pre-paid account.
 28. The network of claim 25 further comprising means for displaying the total number of usage units accumulated from the pre-paid account.
 29. The network claim 21 wherein the department code is a limited-use code issued by a system administrator.
 30. The network of claim 29 wherein the limited-use code is selected from the group comprising a single-print use code and a limited-time use code. 